package lab02.test24;

import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
import java.text.SimpleDateFormat;

 // 编程实现：计算两个日期的天数之差。编写Java应用程序，来计算任意两个日期的天数之差。
// 要求：两个日期用字符串形式输入
 // （比如输入“20100101”表示2010年1月1日），需要将日期字符串的年、月、日分别转换为
// 数字形式。

public class Test {
    public static void main(String[] args) {
        //输入日期
        Scanner scanner = new Scanner(System.in);
        System.out.println(" 请输入第一个日期，格式如:20170101");

        String num = scanner.nextLine();
        String year = num.substring(0, 4);
        String month = num.substring(4, 6);
        String day = num.substring(6);
        Calendar calendar = Calendar.getInstance();
        calendar.set(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day));
        Date date1 = calendar.getTime();

        //输入第二个日期
        System.out.println(" 请输入第二个日期，格式如:20170101");
        num = scanner.nextLine();
        year = num.substring(0, 4);
        month = num.substring(4, 6);
        day = num.substring(6);
        calendar.set(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day));
        Date date2=calendar.getTime();
        long SubDay=(date1.getTime()-date2.getTime())/(24*60*60*1000);

        //计算相差多少天
        if(SubDay<0)
            SubDay=(date2.getTime()-date1.getTime())/(24*60*60*1000);
        System.out.println(" 两个日期相差"+SubDay+" 天 ");
    }
}
